package com.seari.tunnel.service;

import java.util.List;

import com.seari.tunnel.entity.ConstructionLog;
import com.seari.tunnel.entity.ConstructionLogParam;
import com.seari.tunnel.entity.ConstructionManage;
import com.seari.tunnel.entity.ConstructionType;
import com.seari.tunnel.entity.CorridorIn;
import com.seari.tunnel.entity.CorridorOut;
import com.seari.tunnel.entity.CorridorOutParam;
import com.seari.tunnel.entity.DeductStandard;
import com.seari.tunnel.entity.PipelineArchives;
import com.seari.tunnel.entity.ServiceApplication;
import com.seari.tunnel.entity.ServiceApplicationParam;
import com.seari.tunnel.entity.ServiceType;
import com.seari.tunnel.entity.SupervisionLog;

public interface IConstructionService {
	String SERVICE_NAME = "constructionService";
	
	public List<CorridorIn> findOverComp();
	
	public List<CorridorOut> findUnpayComp();
	
	public List<ConstructionType> findConType();
	
	public List<ServiceType> findServiceType();
	
	public List<DeductStandard> findDeductStandard();
	
	public void addConstructionManage(ConstructionManage constructionManage);
	
	public List<ConstructionManage> findConManageGrid();
	
	public void addServiceApplication(ServiceApplication serviceApplication);
	
	public List<ServiceApplication> findServiceApplication();
	
	public void addConstructionLog(ConstructionLog constructionLog);
	
	public void addClAndDh(ConstructionLog constructionLog,int dsId)throws RuntimeException;
	
	public List<ConstructionLog> findConstructionLog();
	
	public List<SupervisionLog> findSupervisionLog();
	
	public void updateBond(CorridorOut corridorOut);
	
	public List<CorridorOut> findBondGrid();
	
	public void updateBack(CorridorOut corridorOut);
	
	public List<DeductStandard> findDeductListById(int coId);
	
	public List<ConstructionLogParam> getConstructionLog();
	
	public void deleteConstructionLog(int id)throws RuntimeException;
	
	public void deleteConstructionManage(int id);
	
	public List<ServiceApplicationParam> findServiceParam();
	
	public void deleteServiceApplication(int id);
	
	public List<CorridorOutParam> findBondParam();
	
	public void deleteBond(int id);
	
	public List<CorridorOut> findFinishComp();
	
    public List<PipelineArchives> findPipelineArchives(String comp);
    
    public CorridorIn findCorridorInById(int id);
    
    public void updateOwnership(int id);
    
    public void updateregulator(int id);
    
    public void updateconstructionSector(int id);
    
    public void updateprojectManager(int id);

    public void updatefileField1(CorridorIn corridorIn);

	public void updatefileField2(CorridorIn corridorIn);

	public void updatefileField3(CorridorIn corridorIn);
}
